//
//  Person.m
//  02-ClassAndObject
//
//  Created by dllo on 16/7/5.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import "Person.h"

@implementation Person
//实现: 方法加{}
-(void)sleep:(NSInteger)time
{

    //NSlog属于C语言的函数
    NSLog(@"这个人睡了%ld年", time);
    
}
//成员变量name的set方法的实现(ARC下写法)
//-(void)setName:(NSString *)name
//{
//    _name = name;
//}
////成员变量name的get方法的实现
//-(NSString *)getName
//{
//    
//    return _name;
//}

//成员变量name的set方法的实现(MRC下写法)
-(void)setName:(NSString *)name
{

    if (_name != name) {
        [_name release];
        _name = [name retain];
    }
}
-(NSString *)getName
{
    
    return [[_name retain]autorelease];
}

//初始化方法的实现
- (instancetype)initWithName:(NSString *)name Age:(NSInteger)age
{

    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}
//便利构造器的实现
+ (instancetype)personWithName:(NSString *)name Age:(NSInteger)age
{

    return [[Person alloc] initWithName:name Age:age];
}
//指派初始化方法:无论调用哪个初始化方法,都会执行的初始化方法,叫做指派初始化方法

@end
